<?php
class BanUserForm extends CFormModel {

    public $login;
    public $isBanned;
    public $unblockDate;
    
    public function rules() {
        return array(
            array('login', 'required', 'message'=>'{attribute} не может быть пустым'),
            array('unblockDate', 'date', 'format'=>'dd.MM.yyyy hh:mm', 'message'=>'Не верный формат даты', 'allowEmpty'=>true),
            array('isBanned', 'safe')
        );
    }
    
    protected function beforeValidate() {
        if(!parent::beforeValidate()) return false;
        $this->attributes = !empty($_POST[get_class($this)]) ? $_POST[get_class($this)] : array();
        return true;
    }
    
    protected function afterValidate() {
        if($this->isBanned) $this->unblockDate=0;
        if(!$this->hasErrors()) {
            if($this->unblockDate) {
                $date = explode(' ', $this->unblockDate);
                $dmy = explode('.', $date[0]);
                $hm = explode(':', $date[1]);
                $this->unblockDate = mktime($hm[0], $hm[1], null, $dmy[1], $dmy[0], $dmy[2]);
            }
        }
    }
    
    public function attributeLabels() {
        return array (
            'login' => 'Логин пользователя',
            'isBanned' => 'Забанен бесрочно',
            'unblockDate' => 'Дата разбана'
        );
    }
}